package com.easthome.io;

import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;

import java.io.FileInputStream;

/**
 * 测试java文件上传到minio服务器
 */
public class MinioTest  {
    public static void main(String[] args) throws Exception {
        System.out.println("hello minio");
        //创建对象 MinioClient
        MinioClient minioClient = MinioClient.builder()
                //设置地址和端口号
                .endpoint("http://localhost:9000")
                //设置账号和密码
                .credentials("minioadmin", "minioadmin")
                .build();
        //创建桶之前先判断桶是否存在
        if (minioClient.bucketExists(BucketExistsArgs.builder()
                        .bucket("aaa")
                .build())) {
            System.out.println("桶已经存在");
        } else {
            System.out.println("桶不存在");
            //在minio服务器中创建桶
            minioClient.makeBucket(MakeBucketArgs.builder()
                    //设置桶名
                    .bucket("aaa")
                    .build());

        }
        FileInputStream fis = new FileInputStream("E:\\e373b2eb-0e50-4e95-a09b-03f2c1ee1d351.jpg");
        minioClient.putObject(PutObjectArgs.builder()
                //上传到哪个桶
                .bucket("aaa")
                //上传后的文件名
                .object("1.jpg")
                //文件上传的方法 读取文件的流对象 文件的字节数 文件的元数据
                .stream(fis, fis.available(), -1)
                .build());

    }
}
